
package com.gitee.sop.layui.adminserver.module.background.admin.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gitee.sop.layui.adminserver.module.background.admin.entity.SysUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: admin
 * @date: 2019-11-14
 * @version: 1.0.0
 */
public interface SysUserMapper extends BaseMapper<SysUser> {
    /**
     * 获取指定用户名的用户
     *
     * @param username 用户名称
     * @return
     */
    SysUser selectOneByUserName1(@Param("username") String username);

    /**
     * 查询指定用户所有被禁用的主账户数量
     *
     * @param uuid 用户uuid
     * @return
     */
    int countDisableMasterUser(@Param("uuid") String uuid);

    /**
     * 查询指定条件下的数量
     *
     * @param name        用户名称
     * @param username    用户名
     * @param status      状态
     * @param creatorUuid 创建用户uuid
     * @return
     */
    int selectCountBy(@Param("name") String name, @Param("username") String username, @Param("status") Integer status, @Param("creatorUuid") String creatorUuid);

    /**
     * 分页查询指定条件下的数量
     *
     * @param startIndex  开始下标
     * @param endIndex    结束下标
     * @param name        用户姓名
     * @param username    用户名
     * @param status      状态
     * @param creatorUuid 创建用户uuid
     * @return
     */
    List<SysUser> selectPageBy(@Param("startIndex") long startIndex, @Param("endIndex") long endIndex, @Param("name") String name, @Param("username") String username, @Param("status") Integer status, @Param("creatorUuid") String creatorUuid);

    /**
     * 查询指定uuid编码的用户
     *
     * @param uuid
     * @return
     */
    SysUser selectOneByUuid(@Param("uuid") String uuid);
}
